package com.work.app.bean;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import javax.validation.constraints.NotNull;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModelProperty;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import lombok.Data;

/**
 * 业务管理端菜单
 * @Date 2024-05-14 12:06:37
 * @author hjj
 */
@Data
@TableName("manage_menu")
@ApiModel(value="ManageMenu对象", description="业务管理端菜单")
public class ManageMenu implements Serializable {

    @NotNull(message="[]不能为空")
    @ApiModelProperty("")
    private Integer id;

    @NotBlank(message="[菜单名称]不能为空")
    @Size(max= 32,message="编码长度不能超过32")
    @ApiModelProperty("菜单名称")
    private String name;

    @NotBlank(message="[资源路径]不能为空")
    @Size(max= 32,message="编码长度不能超过32")
    @ApiModelProperty("资源路径")
    private String path;

    @ApiModelProperty("上级id")
    private Integer upId;

    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("备注")
    private String notes;

    @NotNull(message="[启用状态（1业务端启用，2管理端启用，3都启用，0不启用）]不能为空")
    @ApiModelProperty("启用状态（1业务端启用，2管理端启用，3都启用，0不启用）")
    private Integer state;

    @NotNull(message="[排序]不能为空")
    @ApiModelProperty("排序")
    private Integer order;

    @TableField(exist = false) //该字段不存在于数据库中
    @ApiModelProperty("子菜单")
    private List<ManageMenu> submenu;



}
